【超初心者向け】DockerでWordPressをサクッと構築
こんにちは!コンサル部のinomaso(@inomasosan)です。
絶賛コンテナ勉強中なのですが、CI/CDやIaC、ECSやEKS等で学ぶことが多くて目が回りますよね。
最近、社内の経験者に勉強方法を聞いてみたのですが、初めはそれぞれ分けて勉強した方が良いとのことでした。
ということで、まずはDockerのチュートリアルからはじめてみることにしました。
やること
- Docker公式ドキュメントのDocker ComposeとWordPressのクイックスタート
この記事で学べること
- DockerでWordPress環境構築
環境
今回実行した環境は以下の通りです。
- macOS Catalina 10.15.7
- Docker Desktop 3.1.0
コード
任意のディレクトリにdocker-compose.ymlを作成。 チュートリアルに従い、以下のコードを保存。
version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data:
DBのデータ保存のためにvolumesを指定していますね。
また、depends_onでコンテナの依存関係を定義しているので、この例ですとdbを起動してから、wordpressが起動される設定となります。
やってみた
1. docker-composeを実行
docker-compose.ymlを作成したディレクトリに移動して、実行していきます。
% docker-compose up -d Creating network "my_wordpress_default" with the default driver Creating volume "my_wordpress_db_data" with default driver Pulling db (mysql:5.7)... 5.7: Pulling from library/mysql 75646c2fb410: Pull complete 878f3d947b10: Pull complete 1a2dd2f75b04: Pull complete 8faaceef2b94: Pull complete b77c8c445ec2: Pull complete 074029aeaa5f: Pull complete 5a1122545c6c: Pull complete 0539e5d96e0a: Pull complete 5bf3befab801: Pull complete a8ba39ab191f: Pull complete d472d441f7e9: Pull complete Digest: sha256:dce7f54b744d09e95525ff8c767c5ba1c6a5a54d04c208fa55e3052ded713453 Status: Downloaded newer image for mysql:5.7 Pulling wordpress (wordpress:latest)... latest: Pulling from library/wordpress ac2522cc7269: Pull complete 5b2eaf06d6cf: Pull complete 353d7ace7314: Pull complete 37e4975b15a3: Pull complete f54c541ce8ea: Pull complete 4c5f70c3328b: Pull complete 7721d733906f: Pull complete 15a49155542c: Pull complete a365bc9f6bef: Pull complete 60a4e47167a5: Pull complete 24b65d3ed44f: Pull complete 0c1e61773eb8: Pull complete c29159fb4bcc: Pull complete 26fb7e4f01ad: Pull complete 9c202d0c403c: Pull complete 0c3ce41d4ac1: Pull complete 9c5aa7a09350: Pull complete 474825f9ea74: Pull complete 94703b17fe04: Pull complete 73c68a1f3a28: Pull complete 5c2036f3fca4: Pull complete Digest: sha256:3b74157167e8fb284e108d32293be85c9e7baed7d1f5161dbdd34d75df1bdf1e Status: Downloaded newer image for wordpress:latest Creating my_wordpress_db_1 ... done Creating my_wordpress_wordpress_1 ... done
2. ブラウザで確認してみる
URLにhttp://localhost:8000を入力すると、WordPressの設定画面が表示されることが確認できました。
3. 後片付け
DBのデータ保存用のボリュームを含めて、環境を全て削除します。
% docker-compose down --volumes Stopping my_wordpress_wordpress_1 ... done Stopping my_wordpress_db_1 ... done Removing my_wordpress_wordpress_1 ... done Removing my_wordpress_db_1 ... done Removing network my_wordpress_default Removing volume my_wordpress_db_data
まとめ
EC2等でWordPressを苦労して構築したことがある身としては、docker-compose.ymlをひとつ書くだけで実行できるのは素直に感動します。
こういった便利な技術を課題解決のために身に付けられたらという願いを胸に、継続して勉強していこうと思います
この記事が、どなたかのお役に立てば幸いです。それでは!